home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d2 / speeder2.arc / SPEEDER.ASM < prev    next >
Encoding:
Assembly Source File  |  1990-10-12  |  1.5 KB  |  91 lines

  1.     PAGE    60,132 
  2.     TITLE    Changes memory refresh rate.
  3.     NAME    SPEEDER
  4.  
  5. CR    EQU    0DH
  6. LF    EQU    0AH
  7. EOM    EQU    '$'
  8.  
  9. CSEG    SEGMENT PARA PUBLIC 'CODE' 
  10.     ORG    100H
  11.  
  12.     ASSUME    CS:CSEG,SS:CSEG,DS:CSEG,ES:CSEG 
  13.  
  14. START    PROC    FAR
  15.  
  16.     MOV    DX,OFFSET MESSAGE    ; display opening message
  17.     MOV    AH,9
  18.     INT    21H
  19.  
  20.     MOV    CL,BYTE PTR DS:[80H]    ; load command tail length
  21.     JCXZ    ERROR
  22.     MOV    SI,81H 
  23.     CLD 
  24.  
  25. LOOP1:
  26.     LODSB
  27.     CMP    AL,20H    ; scan off white space
  28.     JA    LOOP2
  29.     LOOP    LOOP1    ; if all white space then error below
  30.  
  31. ERROR:
  32.     MOV    DX,OFFSET ERR_MES    ; display error message
  33.     MOV    AH,9
  34.     INT    21H
  35.  
  36.     MOV    AX,4C01H    ; exit with error
  37.     INT    21H 
  38.  
  39. LOOP2:
  40.     CMP    AL,2DH    ; look for -
  41.     JE    SLOW 
  42.     CMP    AL,2BH     ; look for +
  43.     JE    FAST 
  44.  
  45.     JMP    ERROR    ; command tail option not found
  46.  
  47. SLOW: 
  48.     MOV    AL,74H 
  49.     OUT    43H,AL 
  50.     MOV    AL,12H 
  51.     OUT    41H,AL 
  52.     MOV    AL,00H 
  53.     OUT    41H,AL
  54.  
  55.     MOV    DX,OFFSET SLOW_MES
  56.     MOV    AH,9
  57.     INT    21H
  58.  
  59.     MOV    AX,4C00H    ; exit
  60.     INT    21H 
  61.  
  62. FAST: 
  63.     MOV    AL,74H 
  64.     OUT    43H,AL 
  65.     MOV     AL,80H 
  66.     OUT    41H,AL 
  67.     MOV    AL,00H 
  68.     OUT    41H,AL 
  69.  
  70.     MOV    DX,OFFSET FAST_MES
  71.     MOV    AH,9
  72.     INT    21H
  73.  
  74.     MOV    AX,4C00H    ; exit
  75.     INT    21H
  76.  
  77. START    ENDP 
  78.  
  79. SLOW_MES    DB    '  Refresh set to 7.5%.',CR,LF,EOM
  80. FAST_MES    DB    '  Refresh set to 1%.',CR,LF,EOM
  81.  
  82. MESSAGE    DB    CR,LF
  83.     DB    'SPEEDER 1.1 by Tom Hanlin and Ben Diss for the Public Domain',CR,LF,EOM
  84.  
  85. ERR_MES    DB    '  Purpose: change PC speed by modifying refresh rate.',CR,LF
  86.     DB    '  Faster : SPEEDER +',CR,LF
  87.     DB    '  Slower : SPEEDER -',CR,LF,EOM
  88.  
  89. CSEG    ENDS 
  90.     END    START
  91.